﻿#region

using System;

#endregion

namespace TvdbLib.Data.Banner
{
    ///<summary>
    ///    Graphical representation of a series, tpyes are text, graphical or blank
    ///    - Graphical Banners are defined as having a graphical/logo version of the series name
    ///    - Text Banners generally use Arial Bold font, 27pt as the text
    ///    - The main requirement for blank banners is they should be blank on the left side of the banner as
    ///    that is where the auto-generated text will be placed
    ///
    ///    More information on http://thetvdb.com/wiki/index.php/Series_Banners
    ///</summary>
    [Serializable]
    public class TvdbSeriesBanner : TvdbBannerWithThumb
    {
        #region Fields

        private Type m_bannerType;

        #endregion Fields

        #region Constructors

        /// <summary>
        ///     TvdbSeriesBanner constructor
        /// </summary>
        public TvdbSeriesBanner()
        {
        }

        /// <summary>
        ///     TvdbSeriesBanner constructor
        /// </summary>
        /// <param name="_id"> Id of banner </param>
        /// <param name="_path"> Path of banner image </param>
        /// <param name="_lang"> Language of this banner </param>
        /// <param name="_type"> Banner type (text, graphical, blank, none) </param>
        public TvdbSeriesBanner(int _id, String _path, TvdbLanguage _lang, Type _type)
        {
            BannerPath = _path;
            Language = _lang;
            Id = _id;
            BannerType = _type;
        }

        #endregion Constructors

        #region Enumerations

        /// <summary>
        ///     Type of the series banner
        /// </summary>
        public enum Type
        {
            /// <summary>
            ///     Banners contains a text of the seriesname
            /// </summary>
            text,

            /// <summary>
            ///     Banner containing a graphical representation of the seriesname
            /// </summary>
            graphical,

            /// <summary>
            ///     Banner containing a free space on the left side to place your own series description
            /// </summary>
            blank,

            /// <summary>
            ///     Nothing specified
            /// </summary>
            none
        }

        #endregion Enumerations

        #region Properties

        /// <summary>
        ///     Banner type of the series banner
        /// </summary>
        public Type BannerType
        {
            get { return m_bannerType; }
            set { m_bannerType = value; }
        }

        #endregion Properties
    }
}